iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0

今天要來學的是佈局元件(layout)的部分

https://ithelp.ithome.com.tw/upload/images/20241001/201691703ToYcmex8c.png

從圖中我們可以看到index、blog和about三個astro檔中,我們都各自導入了header和footer組件,等於重複的程式碼我們寫了三次,這時候我們就可以建立一個layout組件來處理這樣的情況,也就是說寫一個模板給其他的astro檔進行套用就好:
https://ithelp.ithome.com.tw/upload/images/20241001/20169170v8h7uP3dN9.png

圖中的程式碼是我們從index.astro上面copy過來的,我們在src資料夾中建立了一個layouts的資料夾,並且創立了一個叫做BaseLayout.astro的檔案,然後我們在h1標籤的下方寫一個solt插槽,用於嵌合我們其他的page的.astro檔,而我們h1裡面的title會隨著不同的page會有不同的內容,所以我們不能在BaseLayout.astro中去寫死我們的標題,而是改用astro.props傳值的方式去取得外部檔案給我們的title

https://ithelp.ithome.com.tw/upload/images/20241001/20169170cBf7alhXhW.png

可以看到我們的index.astro被清的非常的乾淨,因為我們已經將大部分共用的程式碼都寫在BaseLayout裡面,可以注意到的是我在index.astro中寫了一個h2標籤,這個h2的內容就相當於BaseLayout.astro中solt插槽的位置

https://ithelp.ithome.com.tw/upload/images/20241001/20169170OWC6uCImy1.png

run dev起來確認我們的畫面沒有問題之後就代表成功了,接下來我們就可以逐步地來將其他的.astro檔套用同樣的layout摟!


上一篇
和2魚坐牢的第二十一天-Astro之腳本事件(點擊事件)
下一篇
和2魚坐牢的第二十三天-Astro之文章模板嵌套
系列文
和鱷魚組長的坐牢30天之vue的簡易todolist和Astro的簡易部落格實現30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言